// 不能和Number类型直接进行数学运算
// let v1 = BigInt(5) + 5; // TypeError

// 一元运算符
// let v2 = +5n; // TypeError
let v3 = 5n;
v3 ++;
console.log("v3 =",v3); // 6n

v3 --;
console.log("v3 =",v3); // 5n

// 小数、非数字字符串、null、undefined不能转为BigInt
// let v4 = BigInt(1.02); // RangeError
let v5 = BigInt(1.00); // 正确
console.log("v5 =",v5);  // 1n
// v5 = BigInt("我"); // SyntaxError
// v5 = BigInt("2.00");  // SyntaxError
v5 = BigInt("2");
console.log("v5 =",v5);  // 2n
// v5 = BigInt(null); // TypeError
// v5 = BigInt(undefined); // TypeError

// 二进制、八进制、十六进制
let v6 = BigInt(0b10);
console.log("v6 =",v6); // 2n

v6 = BigInt(010);
console.log("v6 =",v6); // 8n

v6 = BigInt(0x10); 
console.log("v6 =",v6); // 16n

// BigInt和普通Number可以进行比较
console.log(BigInt(100) == 100); // true
console.log(BigInt(100) >= 100); // true

// true隐式转化为数值1，所以也可以比较
console.log(BigInt(1) == true); // true